﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace AdmLaboratorios.DTO
{
    public static class DTOHelper
    {
        private static Assembly miAssembly = Assembly.GetExecutingAssembly();

        public static TablaBase InstanciarObjetoPorNombreDeTabla(string NombreTabla)
        {
            //Paso del nombre de la ClaseDAO correspondiente a la entidad,
            //al nombre completo de la Clase a Instanciar.
            NombreTabla = "AdmLaboratorios.DTO." + NombreTabla + "DTO";

            /* Casos especiales? */

            return (TablaBase)miAssembly.CreateInstance(NombreTabla);
        }

        public static string GetTableNameByType(Type t)
        {
            //Paso del nombre de la clase DAO o DTO, al nombre de la Tabla.
            string NombreTabla = t.Name.Replace("DAO", string.Empty).Replace("DTO", string.Empty);

            /* Casos especiales? */

            return NombreTabla;
        }
    }
}
